/**
 *
 *   █████▒█    ██  ▄████▄   ██ ▄█▀       ██████╗ ██╗   ██╗ ██████╗
 * ▓██   ▒ ██  ▓██▒▒██▀ ▀█   ██▄█▒        ██╔══██╗██║   ██║██╔════╝
 * ▒████ ░▓██  ▒██░▒▓█    ▄ ▓███▄░        ██████╔╝██║   ██║██║  ███╗
 * ░▓█▒  ░▓▓█  ░██░▒▓▓▄ ▄██▒▓██ █▄        ██╔══██╗██║   ██║██║   ██║
 * ░▒█░   ▒▒█████▓ ▒ ▓███▀ ░▒██▒ █▄       ██████╔╝╚██████╔╝╚██████╔╝
 *  ▒ ░   ░▒▓▒ ▒ ▒ ░ ░▒ ▒  ░▒ ▒▒ ▓▒       ╚═════╝  ╚═════╝  ╚═════╝
 *  ░     ░░▒░ ░ ░   ░  ▒   ░ ░▒ ▒░
 *  ░ ░    ░░░ ░ ░ ░        ░ ░░ ░
 *           ░     ░ ░      ░  ░
 */

import React from 'react';

import {StackNavigator} from 'react-navigation';
import CardStackStyleInterpolator from "react-navigation/src/views/CardStack/CardStackStyleInterpolator";
import GaquLogin from "./view/sys/GaquLogin";
import * as Color from "../lib.xjs/constant/Color";

/** 这里的都是不用在菜单列表中显示的，但是都要被路由的页面 */
let mStacks = {
    /** 登录 */
    'Login': {
        screen: GaquLogin,
        navigationOptions: {
            headerTitle: '登录'
        }
    },
};

/** 全项目所有路由页面 */
class StackManager {
    /** 真正首页列表的项 */
    static get() {
        return mStacks;
    }
}

/** [这里优先级底, 通用配置]全项目所有路由页面的跳转配置,也可在[路由项的navigationOptions]属性里单独配置,且优先级更高 */
const NavigationOptions = {
    // initialRouteName: 'Home',
    // initialRouteParams: {initPara: '初始页面参数'},
    navigationOptions: {
        gesturesEnabled: true,
        // headerTitle: '标题',
        headerTintColor:Color.white,    // 整个头部的颜色
        // headerTitleStyle: {fontSize: 18, color: Color.white},    // 头部的标题style
        headerStyle: {height: 48, backgroundColor: Color.colorPrimary},
    },
    // paths: 'page/main',
    // mode: 'card',
    headerMode: 'screen',
    // cardStyle: {backgroundColor: "#ffffff"},
    transitionConfig: (() => ({
        screenInterpolator: CardStackStyleInterpolator.forHorizontal,
    })),
    // onTransitionStart: (() => {
    //     console.log('页面跳转动画开始');
    // }),
    // onTransitionEnd: (() => {
    //     console.log('页面跳转动画结束');
    // }),
};

/** 这里的数据会在首页的功能列表上面显示（只是全部stack的一部分） */
export default StackNavigator(StackManager.get(), NavigationOptions);

